<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>Proyecto de Matemática Discreta 2 - Parte II: DINIC: Referencia del Archivo copia/glib/ghash.c</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body onload='searchBox.OnSelectItem(0);'>
<!-- Generado por Doxygen 1.7.4 -->
<script type="text/javascript"><!--
var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
--></script>
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="UNCBL.png"/></td>
  <td style="padding-left: 0.5em;">
   <div id="projectname">Proyecto de Matemática Discreta 2 - Parte II: DINIC</div>
   <div id="projectbrief">Cálculo de flujo maximal sobre un network aplicando el algoritmo de Dinic</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Página&#160;principal</span></a></li>
      <li><a href="annotated.html"><span>Estructuras&#160;de&#160;Datos</span></a></li>
      <li class="current"><a href="files.html"><span>Archivos</span></a></li>
      <li id="searchli">
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Buscar" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>Lista&#160;de&#160;archivos</span></a></li>
      <li><a href="globals.html"><span>Globales</span></a></li>
    </ul>
  </div>
</div>
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
  initNavTree('copia_2glib_2ghash_8c.html','');
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#nested-classes">Estructuras de datos</a> &#124;
<a href="#define-members">'defines'</a> &#124;
<a href="#typedef-members">'typedefs'</a> &#124;
<a href="#func-members">Funciones</a>  </div>
  <div class="headertitle">
<div class="title">Referencia del Archivo copia/glib/ghash.c</div>  </div>
</div>
<div class="contents">
<div class="textblock"><code>#include &lt;string.h&gt;</code><br/>
<code>#include &quot;ghash.h&quot;</code><br/>
</div><div class="textblock"><div class="dynheader">
Dependencia gráfica adjunta para ghash.c:</div>
<div class="dyncontent">
<div class="center"><img src="copia_2glib_2ghash_8c__incl.png" border="0" usemap="#copia_2glib_2ghash_8c" alt=""/></div>
<map name="copia_2glib_2ghash_8c" id="copia_2glib_2ghash_8c">
</map>
</div>
</div><table class="memberdecls">
<tr><td colspan="2"><h2><a name="nested-classes"></a>
Estructuras de datos</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct___g_hash_node.html">_GHashNode</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct___g_hash_table.html">_GHashTable</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_real_iter.html">RealIter</a></td></tr>
<tr><td colspan="2"><h2><a name="define-members"></a>
'defines'</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="copia_2glib_2ghash_8c.html#a99b3fa918031c0835fe552f9d8b078a6">HASH_TABLE_MIN_SHIFT</a>&#160;&#160;&#160;3</td></tr>
<tr><td colspan="2"><h2><a name="typedef-members"></a>
'typedefs'</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct___g_hash_node.html">_GHashNode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="copia_2glib_2ghash_8c.html#acf10e9e007db83ca6bff9834816beebf">GHashNode</a></td></tr>
<tr><td colspan="2"><h2><a name="func-members"></a>
Funciones</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="copia_2glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="copia_2glib_2ghash_8c.html#af8873df75e21d7e70ca5aaa3273aa41c">g_hash_table_new</a> (<a class="el" href="glib_2gtypes_8h.html#a587f37eaf6653e7521483d4b74564c72">GHashFunc</a> hash_func, <a class="el" href="glib_2gtypes_8h.html#a0f1c5e1acd40b71909512fb3ab83076a">GEqualFunc</a> key_equal_func)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="copia_2glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="copia_2glib_2ghash_8c.html#a201cb9cd69237fad660934db8d74690b">g_hash_table_new_full</a> (<a class="el" href="glib_2gtypes_8h.html#a587f37eaf6653e7521483d4b74564c72">GHashFunc</a> hash_func, <a class="el" href="glib_2gtypes_8h.html#a0f1c5e1acd40b71909512fb3ab83076a">GEqualFunc</a> key_equal_func, <a class="el" href="glib_2gtypes_8h.html#a44a19db7c742be2745ca8e4abcaf3a91">GDestroyNotify</a> key_destroy_func, <a class="el" href="glib_2gtypes_8h.html#a44a19db7c742be2745ca8e4abcaf3a91">GDestroyNotify</a> value_destroy_func)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="copia_2glib_2ghash_8c.html#acad3e936d53132c6ba8a7b1797036609">g_hash_table_iter_init</a> (<a class="el" href="struct___g_hash_table_iter.html">GHashTableIter</a> *iter, <a class="el" href="copia_2glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a> *hash_table)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="copia_2glib_2gtypes_8h.html#a3fbd4b724cd3917d53d4b4204a4963e5">gboolean</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="copia_2glib_2ghash_8c.html#aa06a34ee59c0c3e0f491b014c59d33ec">g_hash_table_iter_next</a> (<a class="el" href="struct___g_hash_table_iter.html">GHashTableIter</a> *iter, <a class="el" href="copia_2glib_2gtypes_8h.html#a82239d7d1ad8c85a21637b644b4e7832">gpointer</a> *key, <a class="el" href="copia_2glib_2gtypes_8h.html#a82239d7d1ad8c85a21637b644b4e7832">gpointer</a> *value)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="copia_2glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="copia_2glib_2ghash_8c.html#ae2e53a6db43b2f9b7c218950f8066018">g_hash_table_iter_get_hash_table</a> (<a class="el" href="struct___g_hash_table_iter.html">GHashTableIter</a> *iter)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="copia_2glib_2ghash_8c.html#a1366b7ba152a6cf590141e977d15cac9">g_hash_table_iter_remove</a> (<a class="el" href="struct___g_hash_table_iter.html">GHashTableIter</a> *iter)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="copia_2glib_2ghash_8c.html#a8c58ef3868d63c24a62a75525ca7c064">g_hash_table_iter_steal</a> (<a class="el" href="struct___g_hash_table_iter.html">GHashTableIter</a> *iter)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="copia_2glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="copia_2glib_2ghash_8c.html#aa2f4c6dcf185dc3302729fc7b60b08b3">g_hash_table_ref</a> (<a class="el" href="copia_2glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a> *hash_table)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="copia_2glib_2ghash_8c.html#a2511f6a2e6064c3dc349a987768c1faf">g_hash_table_unref</a> (<a class="el" href="copia_2glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a> *hash_table)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="copia_2glib_2ghash_8c.html#ac4d1d48d5582a9eee9b4d60413337a41">g_hash_table_destroy</a> (<a class="el" href="copia_2glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a> *hash_table)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="copia_2glib_2gtypes_8h.html#a82239d7d1ad8c85a21637b644b4e7832">gpointer</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="copia_2glib_2ghash_8c.html#a01fd02b302e610d6c3e71e0097c76bdb">g_hash_table_lookup</a> (<a class="el" href="copia_2glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a> *hash_table, <a class="el" href="copia_2glib_2gtypes_8h.html#a993597d6defd7d9a72b501697875b1e8">gconstpointer</a> key)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="copia_2glib_2gtypes_8h.html#a3fbd4b724cd3917d53d4b4204a4963e5">gboolean</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="copia_2glib_2ghash_8c.html#a17afe724e01d41d9420584b431719e48">g_hash_table_lookup_extended</a> (<a class="el" href="copia_2glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a> *hash_table, <a class="el" href="copia_2glib_2gtypes_8h.html#a993597d6defd7d9a72b501697875b1e8">gconstpointer</a> lookup_key, <a class="el" href="copia_2glib_2gtypes_8h.html#a82239d7d1ad8c85a21637b644b4e7832">gpointer</a> *orig_key, <a class="el" href="copia_2glib_2gtypes_8h.html#a82239d7d1ad8c85a21637b644b4e7832">gpointer</a> *value)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="copia_2glib_2ghash_8c.html#a2d77bc964955f9954210005d4e858ddd">g_hash_table_insert</a> (<a class="el" href="copia_2glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a> *hash_table, <a class="el" href="copia_2glib_2gtypes_8h.html#a82239d7d1ad8c85a21637b644b4e7832">gpointer</a> key, <a class="el" href="copia_2glib_2gtypes_8h.html#a82239d7d1ad8c85a21637b644b4e7832">gpointer</a> value)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="copia_2glib_2ghash_8c.html#a62cada13c4b4dc137a896b903d4fb440">g_hash_table_replace</a> (<a class="el" href="copia_2glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a> *hash_table, <a class="el" href="copia_2glib_2gtypes_8h.html#a82239d7d1ad8c85a21637b644b4e7832">gpointer</a> key, <a class="el" href="copia_2glib_2gtypes_8h.html#a82239d7d1ad8c85a21637b644b4e7832">gpointer</a> value)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="copia_2glib_2gtypes_8h.html#a3fbd4b724cd3917d53d4b4204a4963e5">gboolean</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="copia_2glib_2ghash_8c.html#acff7e5fffc2572456a379d3d62d3e6ed">g_hash_table_remove</a> (<a class="el" href="copia_2glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a> *hash_table, <a class="el" href="copia_2glib_2gtypes_8h.html#a993597d6defd7d9a72b501697875b1e8">gconstpointer</a> key)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="copia_2glib_2gtypes_8h.html#a3fbd4b724cd3917d53d4b4204a4963e5">gboolean</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="copia_2glib_2ghash_8c.html#aa82b9ae837aba99b20c422180dfe39aa">g_hash_table_steal</a> (<a class="el" href="copia_2glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a> *hash_table, <a class="el" href="copia_2glib_2gtypes_8h.html#a993597d6defd7d9a72b501697875b1e8">gconstpointer</a> key)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="copia_2glib_2ghash_8c.html#accc852bed818418d94d4df2a64d7b423">g_hash_table_remove_all</a> (<a class="el" href="copia_2glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a> *hash_table)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="copia_2glib_2ghash_8c.html#a3846f55bd825c0bdb5566abf27656a02">g_hash_table_steal_all</a> (<a class="el" href="copia_2glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a> *hash_table)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="copia_2glib_2gtypes_8h.html#af0d5fc363adb00f8d725f36331ff0a12">guint</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="copia_2glib_2ghash_8c.html#a5fc0b331d7e7fc2c3e5947dbe886884a">g_hash_table_foreach_remove</a> (<a class="el" href="copia_2glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a> *hash_table, <a class="el" href="glib_2ghash_8h.html#ac375714d824a50e41ee776aea936db3e">GHRFunc</a> func, <a class="el" href="copia_2glib_2gtypes_8h.html#a82239d7d1ad8c85a21637b644b4e7832">gpointer</a> user_data)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="copia_2glib_2gtypes_8h.html#af0d5fc363adb00f8d725f36331ff0a12">guint</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="copia_2glib_2ghash_8c.html#a5d8dee5d6312fec8b1b5ccd9e1b2e36d">g_hash_table_foreach_steal</a> (<a class="el" href="copia_2glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a> *hash_table, <a class="el" href="glib_2ghash_8h.html#ac375714d824a50e41ee776aea936db3e">GHRFunc</a> func, <a class="el" href="copia_2glib_2gtypes_8h.html#a82239d7d1ad8c85a21637b644b4e7832">gpointer</a> user_data)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="copia_2glib_2ghash_8c.html#a6682bb9c7b5a282e1847dd02bcf944ad">g_hash_table_foreach</a> (<a class="el" href="copia_2glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a> *hash_table, <a class="el" href="glib_2gtypes_8h.html#a8da753d860dcda510bc205ca0f4bdab4">GHFunc</a> func, <a class="el" href="copia_2glib_2gtypes_8h.html#a82239d7d1ad8c85a21637b644b4e7832">gpointer</a> user_data)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="copia_2glib_2gtypes_8h.html#a82239d7d1ad8c85a21637b644b4e7832">gpointer</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="copia_2glib_2ghash_8c.html#a19e819424024d8c5ec5cc31d760b66c5">g_hash_table_find</a> (<a class="el" href="copia_2glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a> *hash_table, <a class="el" href="glib_2ghash_8h.html#ac375714d824a50e41ee776aea936db3e">GHRFunc</a> predicate, <a class="el" href="copia_2glib_2gtypes_8h.html#a82239d7d1ad8c85a21637b644b4e7832">gpointer</a> user_data)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="copia_2glib_2gtypes_8h.html#af0d5fc363adb00f8d725f36331ff0a12">guint</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="copia_2glib_2ghash_8c.html#a2c3399a8b93069f54cb43957aae3d098">g_hash_table_size</a> (<a class="el" href="copia_2glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a> *hash_table)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="copia_2glib_2glist_8h.html#a840db0c80fb4e0a1fc6dfc0c18450da2">GList</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="copia_2glib_2ghash_8c.html#a144a1279ae0e396a0d8c6d2009f28926">g_hash_table_get_keys</a> (<a class="el" href="copia_2glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a> *hash_table)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="copia_2glib_2glist_8h.html#a840db0c80fb4e0a1fc6dfc0c18450da2">GList</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="copia_2glib_2ghash_8c.html#a7cecdcc8b5fad067203141eb34b0a2ae">g_hash_table_get_values</a> (<a class="el" href="copia_2glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a> *hash_table)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="copia_2glib_2gtypes_8h.html#af0d5fc363adb00f8d725f36331ff0a12">guint</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="copia_2glib_2ghash_8c.html#a43d25383251c026f81d0f4986c0956a9">g_direct_hash</a> (<a class="el" href="copia_2glib_2gtypes_8h.html#a993597d6defd7d9a72b501697875b1e8">gconstpointer</a> v)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="copia_2glib_2gtypes_8h.html#a3fbd4b724cd3917d53d4b4204a4963e5">gboolean</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="copia_2glib_2ghash_8c.html#abc88a6b1dd1e36fc099c3c223d5801ce">g_direct_equal</a> (<a class="el" href="copia_2glib_2gtypes_8h.html#a993597d6defd7d9a72b501697875b1e8">gconstpointer</a> v1, <a class="el" href="copia_2glib_2gtypes_8h.html#a993597d6defd7d9a72b501697875b1e8">gconstpointer</a> v2)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="copia_2glib_2gtypes_8h.html#a3fbd4b724cd3917d53d4b4204a4963e5">gboolean</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="copia_2glib_2ghash_8c.html#a57c767cf95e3f2d184e28bc9c110c7d4">g_intP_equal</a> (<a class="el" href="copia_2glib_2gtypes_8h.html#a993597d6defd7d9a72b501697875b1e8">gconstpointer</a> v1, <a class="el" href="copia_2glib_2gtypes_8h.html#a993597d6defd7d9a72b501697875b1e8">gconstpointer</a> v2)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="copia_2glib_2gtypes_8h.html#a3fbd4b724cd3917d53d4b4204a4963e5">gboolean</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="copia_2glib_2ghash_8c.html#afdf37f16833557b08ae4840620f69a88">g_int_equal</a> (<a class="el" href="copia_2glib_2gtypes_8h.html#a993597d6defd7d9a72b501697875b1e8">gconstpointer</a> v1, <a class="el" href="copia_2glib_2gtypes_8h.html#a993597d6defd7d9a72b501697875b1e8">gconstpointer</a> v2)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="copia_2glib_2gtypes_8h.html#af0d5fc363adb00f8d725f36331ff0a12">guint</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="copia_2glib_2ghash_8c.html#a35459701170c88e43945d26e93510049">g_intP_hash</a> (<a class="el" href="copia_2glib_2gtypes_8h.html#a993597d6defd7d9a72b501697875b1e8">gconstpointer</a> v)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="copia_2glib_2gtypes_8h.html#af0d5fc363adb00f8d725f36331ff0a12">guint</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="copia_2glib_2ghash_8c.html#a687be1df743ba5a06c64b07f6fb79aac">g_int_hash</a> (<a class="el" href="copia_2glib_2gtypes_8h.html#a993597d6defd7d9a72b501697875b1e8">gconstpointer</a> v)</td></tr>
</table>
<hr/><h2>Documentación de los 'defines'</h2>
<a class="anchor" id="a99b3fa918031c0835fe552f9d8b078a6"></a><!-- doxytag: member="ghash.c::HASH_TABLE_MIN_SHIFT" ref="a99b3fa918031c0835fe552f9d8b078a6" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HASH_TABLE_MIN_SHIFT&#160;&#160;&#160;3</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>SECTION:hash_tables : Hash Tables : associations between keys and values so that given a key the value can be found quickly</p>
<p>A <a class="el" href="glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a> provides associations between keys and values which is optimized so that given a key, the associated value can be found very quickly.</p>
<p>Note that neither keys nor values are copied when inserted into the <a class="el" href="glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a>, so they must exist for the lifetime of the <a class="el" href="glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a>. This means that the use of static strings is OK, but temporary strings (i.e. those created in buffers and those returned by GTK+ widgets) should be copied with g_strdup() before being inserted.</p>
<p>If keys or values are dynamically allocated, you must be careful to ensure that they are freed when they are removed from the <a class="el" href="glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a>, and also when they are overwritten by new insertions into the <a class="el" href="glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a>. It is also not advisable to mix static strings and dynamically-allocated strings in a <a class="el" href="glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a>, because it then becomes difficult to determine whether the string should be freed.</p>
<p>To create a <a class="el" href="glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a>, use <a class="el" href="copia_2glib_2ghash_8c.html#af8873df75e21d7e70ca5aaa3273aa41c">g_hash_table_new()</a>.</p>
<p>To insert a key and value into a <a class="el" href="glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a>, use <a class="el" href="copia_2glib_2ghash_8c.html#a2d77bc964955f9954210005d4e858ddd">g_hash_table_insert()</a>.</p>
<p>To lookup a value corresponding to a given key, use <a class="el" href="copia_2glib_2ghash_8c.html#a01fd02b302e610d6c3e71e0097c76bdb">g_hash_table_lookup()</a> and <a class="el" href="copia_2glib_2ghash_8c.html#a17afe724e01d41d9420584b431719e48">g_hash_table_lookup_extended()</a>.</p>
<p>To remove a key and value, use <a class="el" href="copia_2glib_2ghash_8c.html#acff7e5fffc2572456a379d3d62d3e6ed">g_hash_table_remove()</a>.</p>
<p>To call a function for each key and value pair use <a class="el" href="copia_2glib_2ghash_8c.html#a6682bb9c7b5a282e1847dd02bcf944ad">g_hash_table_foreach()</a> or use a iterator to iterate over the key/value pairs in the hash table, see <a class="el" href="glib_2ghash_8h.html#a16b3142e195de4278e03ebcff1fa1430">GHashTableIter</a>.</p>
<p>To destroy a <a class="el" href="glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a> use <a class="el" href="copia_2glib_2ghash_8c.html#ac4d1d48d5582a9eee9b4d60413337a41">g_hash_table_destroy()</a>. GHashTable:</p>
<p>The <a class="el" href="glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a> struct is an opaque data structure to represent a &lt;link linkend="glib-Hash-Tables"&gt;Hash Table&lt;/link&gt;. It should only be accessed via the following functions. GHashFunc: : a key. : the hash value corresponding to the key.</p>
<p>Specifies the type of the hash function which is passed to <a class="el" href="copia_2glib_2ghash_8c.html#af8873df75e21d7e70ca5aaa3273aa41c">g_hash_table_new()</a> when a <a class="el" href="glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a> is created.</p>
<p>The function is passed a key and should return a <a class="el" href="glib_2gtypes_8h.html#af0d5fc363adb00f8d725f36331ff0a12">guint</a> hash value. The functions <a class="el" href="copia_2glib_2ghash_8c.html#a43d25383251c026f81d0f4986c0956a9">g_direct_hash()</a>, <a class="el" href="copia_2glib_2ghash_8c.html#a687be1df743ba5a06c64b07f6fb79aac">g_int_hash()</a> and <a class="el" href="copia_2glib_2ghash_8h.html#ab684cc170b8624db70baf6eed68151a4">g_str_hash()</a> provide hash functions which can be used when the key is a <a class="el" href="glib_2gtypes_8h.html#a82239d7d1ad8c85a21637b644b4e7832">gpointer</a>, <a class="el" href="glib_2gtypes_8h.html#a94f7fe39540fb07a3c09be37e16112b0">gint</a>, and <a class="el" href="glib_2gtypes_8h.html#a7032b151d3b86839407074d8f0ab43eb">gchar</a>* respectively.</p>
<p>The hash values should be evenly distributed over a fairly large range? The modulus is taken with the hash table size (a prime number) to find the 'bucket' to place each key into. The function should also be very fast, since it is called for each key lookup. GHFunc: : a key. : the value corresponding to the key. : user data passed to <a class="el" href="copia_2glib_2ghash_8c.html#a6682bb9c7b5a282e1847dd02bcf944ad">g_hash_table_foreach()</a>.</p>
<p>Specifies the type of the function passed to <a class="el" href="copia_2glib_2ghash_8c.html#a6682bb9c7b5a282e1847dd02bcf944ad">g_hash_table_foreach()</a>. It is called with each key/value pair, together with the  parameter which is passed to <a class="el" href="copia_2glib_2ghash_8c.html#a6682bb9c7b5a282e1847dd02bcf944ad">g_hash_table_foreach()</a>. GHRFunc: : a key. : the value associated with the key. : user data passed to <a class="el" href="copia_2glib_2ghash_8c.html#acff7e5fffc2572456a379d3d62d3e6ed">g_hash_table_remove()</a>. : TRUE if the key/value pair should be removed from the <a class="el" href="glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a>.</p>
<p>Specifies the type of the function passed to <a class="el" href="copia_2glib_2ghash_8c.html#a5fc0b331d7e7fc2c3e5947dbe886884a">g_hash_table_foreach_remove()</a>. It is called with each key/value pair, together with the  parameter passed to <a class="el" href="copia_2glib_2ghash_8c.html#a5fc0b331d7e7fc2c3e5947dbe886884a">g_hash_table_foreach_remove()</a>. It should return TRUE if the key/value pair should be removed from the <a class="el" href="glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a>. GEqualFunc: <em></em>: a value. <b></b>: a value to compare with. : TRUE if <em>=</em> <b></b>; FALSE otherwise.</p>
<p>Specifies the type of a function used to test two values for equality. The function should return TRUE if both values are equal and FALSE otherwise. GHashTableIter:</p>
<p>A GHashTableIter structure represents an iterator that can be used to iterate over the elements of a <a class="el" href="glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a>. GHashTableIter structures are typically allocated on the stack and then initialized with <a class="el" href="copia_2glib_2ghash_8c.html#acad3e936d53132c6ba8a7b1797036609">g_hash_table_iter_init()</a>. </p>

</div>
</div>
<hr/><h2>Documentación de los 'typedefs'</h2>
<a class="anchor" id="acf10e9e007db83ca6bff9834816beebf"></a><!-- doxytag: member="ghash.c::GHashNode" ref="acf10e9e007db83ca6bff9834816beebf" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct <a class="el" href="struct___g_hash_node.html">_GHashNode</a> <a class="el" href="struct___g_hash_node.html">GHashNode</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<hr/><h2>Documentación de las funciones</h2>
<a class="anchor" id="abc88a6b1dd1e36fc099c3c223d5801ce"></a><!-- doxytag: member="ghash.c::g_direct_equal" ref="abc88a6b1dd1e36fc099c3c223d5801ce" args="(gconstpointer v1, gconstpointer v2)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="copia_2glib_2gtypes_8h.html#a3fbd4b724cd3917d53d4b4204a4963e5">gboolean</a> g_direct_equal </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="copia_2glib_2gtypes_8h.html#a993597d6defd7d9a72b501697875b1e8">gconstpointer</a>&#160;</td>
          <td class="paramname"><em>v1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="copia_2glib_2gtypes_8h.html#a993597d6defd7d9a72b501697875b1e8">gconstpointer</a>&#160;</td>
          <td class="paramname"><em>v2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>g_direct_equal: : a key. : a key to compare with .</p>
<p>Compares two <a class="el" href="glib_2gtypes_8h.html#a82239d7d1ad8c85a21637b644b4e7832">gpointer</a> arguments and returns TRUE if they are equal. It can be passed to <a class="el" href="copia_2glib_2ghash_8c.html#af8873df75e21d7e70ca5aaa3273aa41c">g_hash_table_new()</a> as the  parameter, when using pointers as keys in a <a class="el" href="glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a>.</p>
<p>Returns: TRUE if the two keys match. </p>

</div>
</div>
<a class="anchor" id="a43d25383251c026f81d0f4986c0956a9"></a><!-- doxytag: member="ghash.c::g_direct_hash" ref="a43d25383251c026f81d0f4986c0956a9" args="(gconstpointer v)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="copia_2glib_2gtypes_8h.html#af0d5fc363adb00f8d725f36331ff0a12">guint</a> g_direct_hash </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="copia_2glib_2gtypes_8h.html#a993597d6defd7d9a72b501697875b1e8">gconstpointer</a>&#160;</td>
          <td class="paramname"><em>v</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>g_direct_hash: : a <a class="el" href="glib_2gtypes_8h.html#a82239d7d1ad8c85a21637b644b4e7832">gpointer</a> key</p>
<p>Converts a gpointer to a hash value. It can be passed to <a class="el" href="copia_2glib_2ghash_8c.html#af8873df75e21d7e70ca5aaa3273aa41c">g_hash_table_new()</a> as the  parameter, when using pointers as keys in a <a class="el" href="glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a>.</p>
<p>Returns: a hash value corresponding to the key. </p>

</div>
</div>
<a class="anchor" id="ac4d1d48d5582a9eee9b4d60413337a41"></a><!-- doxytag: member="ghash.c::g_hash_table_destroy" ref="ac4d1d48d5582a9eee9b4d60413337a41" args="(GHashTable *hash_table)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void g_hash_table_destroy </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="copia_2glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a> *&#160;</td>
          <td class="paramname"><em>hash_table</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>g_hash_table_destroy: : a <a class="el" href="glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a>.</p>
<p>Destroys all keys and values in the <a class="el" href="glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a> and decrements its reference count by 1. If keys and/or values are dynamically allocated, you should either free them first or create the <a class="el" href="glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a> with destroy notifiers using <a class="el" href="copia_2glib_2ghash_8c.html#a201cb9cd69237fad660934db8d74690b">g_hash_table_new_full()</a>. In the latter case the destroy functions you supplied will be called on all keys and values during the destruction phase. </p>

</div>
</div>
<a class="anchor" id="a19e819424024d8c5ec5cc31d760b66c5"></a><!-- doxytag: member="ghash.c::g_hash_table_find" ref="a19e819424024d8c5ec5cc31d760b66c5" args="(GHashTable *hash_table, GHRFunc predicate, gpointer user_data)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="copia_2glib_2gtypes_8h.html#a82239d7d1ad8c85a21637b644b4e7832">gpointer</a> g_hash_table_find </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="copia_2glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a> *&#160;</td>
          <td class="paramname"><em>hash_table</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="glib_2ghash_8h.html#ac375714d824a50e41ee776aea936db3e">GHRFunc</a>&#160;</td>
          <td class="paramname"><em>predicate</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="copia_2glib_2gtypes_8h.html#a82239d7d1ad8c85a21637b644b4e7832">gpointer</a>&#160;</td>
          <td class="paramname"><em>user_data</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>g_hash_table_find: : a <a class="el" href="glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a>. : function to test the key/value pairs for a certain property. : user data to pass to the function.</p>
<p>Calls the given function for key/value pairs in the <a class="el" href="glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a> until  returns TRUE. The function is passed the key and value of each pair, and the given  parameter. The hash table may not be modified while iterating over it (you can't add/remove items).</p>
<p>Note, that hash tables are really only optimized for forward lookups, i.e. <a class="el" href="copia_2glib_2ghash_8c.html#a01fd02b302e610d6c3e71e0097c76bdb">g_hash_table_lookup()</a>. So code that frequently issues <a class="el" href="copia_2glib_2ghash_8c.html#a19e819424024d8c5ec5cc31d760b66c5">g_hash_table_find()</a> or <a class="el" href="copia_2glib_2ghash_8c.html#a6682bb9c7b5a282e1847dd02bcf944ad">g_hash_table_foreach()</a> (e.g. in the order of once per every entry in a hash table) should probably be reworked to use additional or different data structures for reverse lookups (keep in mind that an O(n) find/foreach operation issued for all n values in a hash table ends up needing O(n*n) operations).</p>
<p>Return value: The value of the first key/value pair is returned, for which func evaluates to TRUE. If no pair with the requested property is found, NULL is returned.</p>
<p>Since: 2.4 </p>

</div>
</div>
<a class="anchor" id="a6682bb9c7b5a282e1847dd02bcf944ad"></a><!-- doxytag: member="ghash.c::g_hash_table_foreach" ref="a6682bb9c7b5a282e1847dd02bcf944ad" args="(GHashTable *hash_table, GHFunc func, gpointer user_data)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void g_hash_table_foreach </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="copia_2glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a> *&#160;</td>
          <td class="paramname"><em>hash_table</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="glib_2gtypes_8h.html#a8da753d860dcda510bc205ca0f4bdab4">GHFunc</a>&#160;</td>
          <td class="paramname"><em>func</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="copia_2glib_2gtypes_8h.html#a82239d7d1ad8c85a21637b644b4e7832">gpointer</a>&#160;</td>
          <td class="paramname"><em>user_data</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>g_hash_table_foreach: : a <a class="el" href="glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a>. : the function to call for each key/value pair. : user data to pass to the function.</p>
<p>Calls the given function for each of the key/value pairs in the <a class="el" href="glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a>. The function is passed the key and value of each pair, and the given  parameter. The hash table may not be modified while iterating over it (you can't add/remove items). To remove all items matching a predicate, use <a class="el" href="copia_2glib_2ghash_8c.html#a5fc0b331d7e7fc2c3e5947dbe886884a">g_hash_table_foreach_remove()</a>.</p>
<p>See <a class="el" href="copia_2glib_2ghash_8c.html#a19e819424024d8c5ec5cc31d760b66c5">g_hash_table_find()</a> for performance caveats for linear order searches in contrast to <a class="el" href="copia_2glib_2ghash_8c.html#a01fd02b302e610d6c3e71e0097c76bdb">g_hash_table_lookup()</a>. </p>

</div>
</div>
<a class="anchor" id="a5fc0b331d7e7fc2c3e5947dbe886884a"></a><!-- doxytag: member="ghash.c::g_hash_table_foreach_remove" ref="a5fc0b331d7e7fc2c3e5947dbe886884a" args="(GHashTable *hash_table, GHRFunc func, gpointer user_data)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="copia_2glib_2gtypes_8h.html#af0d5fc363adb00f8d725f36331ff0a12">guint</a> g_hash_table_foreach_remove </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="copia_2glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a> *&#160;</td>
          <td class="paramname"><em>hash_table</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="glib_2ghash_8h.html#ac375714d824a50e41ee776aea936db3e">GHRFunc</a>&#160;</td>
          <td class="paramname"><em>func</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="copia_2glib_2gtypes_8h.html#a82239d7d1ad8c85a21637b644b4e7832">gpointer</a>&#160;</td>
          <td class="paramname"><em>user_data</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>g_hash_table_foreach_remove: : a <a class="el" href="glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a>. : the function to call for each key/value pair. : user data to pass to the function.</p>
<p>Calls the given function for each key/value pair in the <a class="el" href="glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a>. If the function returns TRUE, then the key/value pair is removed from the <a class="el" href="glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a>. If you supplied key or value destroy functions when creating the <a class="el" href="glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a>, they are used to free the memory allocated for the removed keys and values.</p>
<p>See <a class="el" href="glib_2ghash_8h.html#a16b3142e195de4278e03ebcff1fa1430">GHashTableIter</a> for an alternative way to loop over the key/value pairs in the hash table.</p>
<p>Return value: the number of key/value pairs removed. </p>

</div>
</div>
<a class="anchor" id="a5d8dee5d6312fec8b1b5ccd9e1b2e36d"></a><!-- doxytag: member="ghash.c::g_hash_table_foreach_steal" ref="a5d8dee5d6312fec8b1b5ccd9e1b2e36d" args="(GHashTable *hash_table, GHRFunc func, gpointer user_data)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="copia_2glib_2gtypes_8h.html#af0d5fc363adb00f8d725f36331ff0a12">guint</a> g_hash_table_foreach_steal </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="copia_2glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a> *&#160;</td>
          <td class="paramname"><em>hash_table</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="glib_2ghash_8h.html#ac375714d824a50e41ee776aea936db3e">GHRFunc</a>&#160;</td>
          <td class="paramname"><em>func</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="copia_2glib_2gtypes_8h.html#a82239d7d1ad8c85a21637b644b4e7832">gpointer</a>&#160;</td>
          <td class="paramname"><em>user_data</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>g_hash_table_foreach_steal: : a <a class="el" href="glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a>. : the function to call for each key/value pair. : user data to pass to the function.</p>
<p>Calls the given function for each key/value pair in the <a class="el" href="glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a>. If the function returns TRUE, then the key/value pair is removed from the <a class="el" href="glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a>, but no key or value destroy functions are called.</p>
<p>See <a class="el" href="glib_2ghash_8h.html#a16b3142e195de4278e03ebcff1fa1430">GHashTableIter</a> for an alternative way to loop over the key/value pairs in the hash table.</p>
<p>Return value: the number of key/value pairs removed. </p>

</div>
</div>
<a class="anchor" id="a144a1279ae0e396a0d8c6d2009f28926"></a><!-- doxytag: member="ghash.c::g_hash_table_get_keys" ref="a144a1279ae0e396a0d8c6d2009f28926" args="(GHashTable *hash_table)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="copia_2glib_2glist_8h.html#a840db0c80fb4e0a1fc6dfc0c18450da2">GList</a>* g_hash_table_get_keys </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="copia_2glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a> *&#160;</td>
          <td class="paramname"><em>hash_table</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>g_hash_table_get_keys: : a <a class="el" href="glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a></p>
<p>Retrieves every key inside . The returned data is valid until  is modified.</p>
<p>Return value: a <a class="el" href="glib_2glist_8h.html#a840db0c80fb4e0a1fc6dfc0c18450da2">GList</a> containing all the keys inside the hash table. The content of the list is owned by the hash table and should not be modified or freed. Use <a class="el" href="copia_2glib_2glist_8c.html#a854e205ef31d2f09c72eecf87a697130">g_list_free()</a> when done using the list.</p>
<p>Since: 2.14 </p>

</div>
</div>
<a class="anchor" id="a7cecdcc8b5fad067203141eb34b0a2ae"></a><!-- doxytag: member="ghash.c::g_hash_table_get_values" ref="a7cecdcc8b5fad067203141eb34b0a2ae" args="(GHashTable *hash_table)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="copia_2glib_2glist_8h.html#a840db0c80fb4e0a1fc6dfc0c18450da2">GList</a>* g_hash_table_get_values </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="copia_2glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a> *&#160;</td>
          <td class="paramname"><em>hash_table</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>g_hash_table_get_values: : a <a class="el" href="glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a></p>
<p>Retrieves every value inside . The returned data is valid until  is modified.</p>
<p>Return value: a <a class="el" href="glib_2glist_8h.html#a840db0c80fb4e0a1fc6dfc0c18450da2">GList</a> containing all the values inside the hash table. The content of the list is owned by the hash table and should not be modified or freed. Use <a class="el" href="copia_2glib_2glist_8c.html#a854e205ef31d2f09c72eecf87a697130">g_list_free()</a> when done using the list.</p>
<p>Since: 2.14 </p>

</div>
</div>
<a class="anchor" id="a2d77bc964955f9954210005d4e858ddd"></a><!-- doxytag: member="ghash.c::g_hash_table_insert" ref="a2d77bc964955f9954210005d4e858ddd" args="(GHashTable *hash_table, gpointer key, gpointer value)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void g_hash_table_insert </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="copia_2glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a> *&#160;</td>
          <td class="paramname"><em>hash_table</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="copia_2glib_2gtypes_8h.html#a82239d7d1ad8c85a21637b644b4e7832">gpointer</a>&#160;</td>
          <td class="paramname"><em>key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="copia_2glib_2gtypes_8h.html#a82239d7d1ad8c85a21637b644b4e7832">gpointer</a>&#160;</td>
          <td class="paramname"><em>value</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>g_hash_table_insert: : a <a class="el" href="glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a>. : a key to insert. : the value to associate with the key.</p>
<p>Inserts a new key and value into a <a class="el" href="glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a>.</p>
<p>If the key already exists in the <a class="el" href="glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a> its current value is replaced with the new value. If you supplied a  when creating the <a class="el" href="glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a>, the old value is freed using that function. If you supplied a  when creating the <a class="el" href="glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a>, the passed key is freed using that function. </p>

</div>
</div>
<a class="anchor" id="ae2e53a6db43b2f9b7c218950f8066018"></a><!-- doxytag: member="ghash.c::g_hash_table_iter_get_hash_table" ref="ae2e53a6db43b2f9b7c218950f8066018" args="(GHashTableIter *iter)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="copia_2glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a>* g_hash_table_iter_get_hash_table </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct___g_hash_table_iter.html">GHashTableIter</a> *&#160;</td>
          <td class="paramname"><em>iter</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>g_hash_table_iter_get_hash_table: : an initialized <a class="el" href="glib_2ghash_8h.html#a16b3142e195de4278e03ebcff1fa1430">GHashTableIter</a>.</p>
<p>Returns the <a class="el" href="glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a> associated with .</p>
<p>Return value: the <a class="el" href="glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a> associated with .</p>
<p>Since: 2.16 </p>

</div>
</div>
<a class="anchor" id="acad3e936d53132c6ba8a7b1797036609"></a><!-- doxytag: member="ghash.c::g_hash_table_iter_init" ref="acad3e936d53132c6ba8a7b1797036609" args="(GHashTableIter *iter, GHashTable *hash_table)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void g_hash_table_iter_init </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct___g_hash_table_iter.html">GHashTableIter</a> *&#160;</td>
          <td class="paramname"><em>iter</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="copia_2glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a> *&#160;</td>
          <td class="paramname"><em>hash_table</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>g_hash_table_iter_init: : an uninitialized <a class="el" href="glib_2ghash_8h.html#a16b3142e195de4278e03ebcff1fa1430">GHashTableIter</a>. : a <a class="el" href="glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a>.</p>
<p>Initializes a key/value pair iterator and associates it with . Modifying the hash table after calling this function invalidates the returned iterator. |[ GHashTableIter iter; gpointer key, value;</p>
<p>g_hash_table_iter_init (&amp;iter, hash_table); while (g_hash_table_iter_next (&amp;iter, &amp;key, &amp;value)) { / do something with key and value / } ]|</p>
<p>Since: 2.16 </p>

</div>
</div>
<a class="anchor" id="aa06a34ee59c0c3e0f491b014c59d33ec"></a><!-- doxytag: member="ghash.c::g_hash_table_iter_next" ref="aa06a34ee59c0c3e0f491b014c59d33ec" args="(GHashTableIter *iter, gpointer *key, gpointer *value)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="copia_2glib_2gtypes_8h.html#a3fbd4b724cd3917d53d4b4204a4963e5">gboolean</a> g_hash_table_iter_next </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct___g_hash_table_iter.html">GHashTableIter</a> *&#160;</td>
          <td class="paramname"><em>iter</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="copia_2glib_2gtypes_8h.html#a82239d7d1ad8c85a21637b644b4e7832">gpointer</a> *&#160;</td>
          <td class="paramname"><em>key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="copia_2glib_2gtypes_8h.html#a82239d7d1ad8c85a21637b644b4e7832">gpointer</a> *&#160;</td>
          <td class="paramname"><em>value</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>g_hash_table_iter_next: : an initialized <a class="el" href="glib_2ghash_8h.html#a16b3142e195de4278e03ebcff1fa1430">GHashTableIter</a>. : a location to store the key, or NULL. : a location to store the value, or NULL.</p>
<p>Advances  and retrieves the key and/or value that are now pointed to as a result of this advancement. If FALSE is returned,  and  are not set, and the iterator becomes invalid.</p>
<p>Return value: FALSE if the end of the <a class="el" href="glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a> has been reached.</p>
<p>Since: 2.16 </p>

</div>
</div>
<a class="anchor" id="a1366b7ba152a6cf590141e977d15cac9"></a><!-- doxytag: member="ghash.c::g_hash_table_iter_remove" ref="a1366b7ba152a6cf590141e977d15cac9" args="(GHashTableIter *iter)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void g_hash_table_iter_remove </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct___g_hash_table_iter.html">GHashTableIter</a> *&#160;</td>
          <td class="paramname"><em>iter</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>g_hash_table_iter_remove: : an initialized <a class="el" href="glib_2ghash_8h.html#a16b3142e195de4278e03ebcff1fa1430">GHashTableIter</a>.</p>
<p>Removes the key/value pair currently pointed to by the iterator from its associated <a class="el" href="glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a>. Can only be called after <a class="el" href="copia_2glib_2ghash_8c.html#aa06a34ee59c0c3e0f491b014c59d33ec">g_hash_table_iter_next()</a> returned TRUE, and cannot be called more than once for the same key/value pair.</p>
<p>If the <a class="el" href="glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a> was created using <a class="el" href="copia_2glib_2ghash_8c.html#a201cb9cd69237fad660934db8d74690b">g_hash_table_new_full()</a>, the key and value are freed using the supplied destroy functions, otherwise you have to make sure that any dynamically allocated values are freed yourself.</p>
<p>Since: 2.16 </p>

</div>
</div>
<a class="anchor" id="a8c58ef3868d63c24a62a75525ca7c064"></a><!-- doxytag: member="ghash.c::g_hash_table_iter_steal" ref="a8c58ef3868d63c24a62a75525ca7c064" args="(GHashTableIter *iter)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void g_hash_table_iter_steal </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct___g_hash_table_iter.html">GHashTableIter</a> *&#160;</td>
          <td class="paramname"><em>iter</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>g_hash_table_iter_steal: : an initialized <a class="el" href="glib_2ghash_8h.html#a16b3142e195de4278e03ebcff1fa1430">GHashTableIter</a>.</p>
<p>Removes the key/value pair currently pointed to by the iterator from its associated <a class="el" href="glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a>, without calling the key and value destroy functions. Can only be called after <a class="el" href="copia_2glib_2ghash_8c.html#aa06a34ee59c0c3e0f491b014c59d33ec">g_hash_table_iter_next()</a> returned TRUE, and cannot be called more than once for the same key/value pair.</p>
<p>Since: 2.16 </p>

</div>
</div>
<a class="anchor" id="a01fd02b302e610d6c3e71e0097c76bdb"></a><!-- doxytag: member="ghash.c::g_hash_table_lookup" ref="a01fd02b302e610d6c3e71e0097c76bdb" args="(GHashTable *hash_table, gconstpointer key)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="copia_2glib_2gtypes_8h.html#a82239d7d1ad8c85a21637b644b4e7832">gpointer</a> g_hash_table_lookup </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="copia_2glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a> *&#160;</td>
          <td class="paramname"><em>hash_table</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="copia_2glib_2gtypes_8h.html#a993597d6defd7d9a72b501697875b1e8">gconstpointer</a>&#160;</td>
          <td class="paramname"><em>key</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>g_hash_table_lookup: : a <a class="el" href="glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a>. : the key to look up.</p>
<p>Looks up a key in a <a class="el" href="glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a>. Note that this function cannot distinguish between a key that is not present and one which is present and has the value NULL. If you need this distinction, use <a class="el" href="copia_2glib_2ghash_8c.html#a17afe724e01d41d9420584b431719e48">g_hash_table_lookup_extended()</a>.</p>
<p>Return value: the associated value, or NULL if the key is not found. </p>

</div>
</div>
<a class="anchor" id="a17afe724e01d41d9420584b431719e48"></a><!-- doxytag: member="ghash.c::g_hash_table_lookup_extended" ref="a17afe724e01d41d9420584b431719e48" args="(GHashTable *hash_table, gconstpointer lookup_key, gpointer *orig_key, gpointer *value)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="copia_2glib_2gtypes_8h.html#a3fbd4b724cd3917d53d4b4204a4963e5">gboolean</a> g_hash_table_lookup_extended </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="copia_2glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a> *&#160;</td>
          <td class="paramname"><em>hash_table</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="copia_2glib_2gtypes_8h.html#a993597d6defd7d9a72b501697875b1e8">gconstpointer</a>&#160;</td>
          <td class="paramname"><em>lookup_key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="copia_2glib_2gtypes_8h.html#a82239d7d1ad8c85a21637b644b4e7832">gpointer</a> *&#160;</td>
          <td class="paramname"><em>orig_key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="copia_2glib_2gtypes_8h.html#a82239d7d1ad8c85a21637b644b4e7832">gpointer</a> *&#160;</td>
          <td class="paramname"><em>value</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>g_hash_table_lookup_extended: : a <a class="el" href="glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a> : the key to look up : return location for the original key, or NULL : return location for the value associated with the key, or NULL</p>
<p>Looks up a key in the <a class="el" href="glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a>, returning the original key and the associated value and a <a class="el" href="glib_2gtypes_8h.html#a3fbd4b724cd3917d53d4b4204a4963e5">gboolean</a> which is TRUE if the key was found. This is useful if you need to free the memory allocated for the original key, for example before calling <a class="el" href="copia_2glib_2ghash_8c.html#acff7e5fffc2572456a379d3d62d3e6ed">g_hash_table_remove()</a>.</p>
<p>You can actually pass NULL for  to test whether the NULL key exists, provided the hash and equal functions of  are NULL-safe.</p>
<p>Return value: TRUE if the key was found in the <a class="el" href="glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a>. </p>

</div>
</div>
<a class="anchor" id="af8873df75e21d7e70ca5aaa3273aa41c"></a><!-- doxytag: member="ghash.c::g_hash_table_new" ref="af8873df75e21d7e70ca5aaa3273aa41c" args="(GHashFunc hash_func, GEqualFunc key_equal_func)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="copia_2glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a>* g_hash_table_new </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="glib_2gtypes_8h.html#a587f37eaf6653e7521483d4b74564c72">GHashFunc</a>&#160;</td>
          <td class="paramname"><em>hash_func</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="glib_2gtypes_8h.html#a0f1c5e1acd40b71909512fb3ab83076a">GEqualFunc</a>&#160;</td>
          <td class="paramname"><em>key_equal_func</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>g_hash_table_new: : a function to create a hash value from a key. Hash values are used to determine where keys are stored within the <a class="el" href="glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a> data structure. The <a class="el" href="copia_2glib_2ghash_8c.html#a43d25383251c026f81d0f4986c0956a9">g_direct_hash()</a>, <a class="el" href="copia_2glib_2ghash_8c.html#a687be1df743ba5a06c64b07f6fb79aac">g_int_hash()</a>, <a class="el" href="copia_2glib_2ghash_8h.html#a8bcd7a1a09912d0f039e20036496ca5f">g_int64_hash()</a>, <a class="el" href="copia_2glib_2ghash_8h.html#a0cad73441efc095e59d542d1b53ad40d">g_double_hash()</a> and <a class="el" href="copia_2glib_2ghash_8h.html#ab684cc170b8624db70baf6eed68151a4">g_str_hash()</a> functions are provided for some common types of keys. If hash_func is NULL, <a class="el" href="copia_2glib_2ghash_8c.html#a43d25383251c026f81d0f4986c0956a9">g_direct_hash()</a> is used. : a function to check two keys for equality. This is used when looking up keys in the <a class="el" href="glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a>. The <a class="el" href="copia_2glib_2ghash_8c.html#abc88a6b1dd1e36fc099c3c223d5801ce">g_direct_equal()</a>, <a class="el" href="copia_2glib_2ghash_8c.html#afdf37f16833557b08ae4840620f69a88">g_int_equal()</a>, <a class="el" href="copia_2glib_2ghash_8h.html#a100ba3dc347f4787161977e4b86abbb9">g_int64_equal()</a>, <a class="el" href="copia_2glib_2ghash_8h.html#a5035272f3d07da41360d9fed9069c419">g_double_equal()</a> and <a class="el" href="copia_2glib_2ghash_8h.html#a3256688bb0fdd66c9c1e86ec04811601">g_str_equal()</a> functions are provided for the most common types of keys. If  is NULL, keys are compared directly in a similar fashion to <a class="el" href="copia_2glib_2ghash_8c.html#abc88a6b1dd1e36fc099c3c223d5801ce">g_direct_equal()</a>, but without the overhead of a function call.</p>
<p>Creates a new <a class="el" href="glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a> with a reference count of 1.</p>
<p>Return value: a new <a class="el" href="glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a>. </p>

</div>
</div>
<a class="anchor" id="a201cb9cd69237fad660934db8d74690b"></a><!-- doxytag: member="ghash.c::g_hash_table_new_full" ref="a201cb9cd69237fad660934db8d74690b" args="(GHashFunc hash_func, GEqualFunc key_equal_func, GDestroyNotify key_destroy_func, GDestroyNotify value_destroy_func)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="copia_2glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a>* g_hash_table_new_full </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="glib_2gtypes_8h.html#a587f37eaf6653e7521483d4b74564c72">GHashFunc</a>&#160;</td>
          <td class="paramname"><em>hash_func</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="glib_2gtypes_8h.html#a0f1c5e1acd40b71909512fb3ab83076a">GEqualFunc</a>&#160;</td>
          <td class="paramname"><em>key_equal_func</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="glib_2gtypes_8h.html#a44a19db7c742be2745ca8e4abcaf3a91">GDestroyNotify</a>&#160;</td>
          <td class="paramname"><em>key_destroy_func</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="glib_2gtypes_8h.html#a44a19db7c742be2745ca8e4abcaf3a91">GDestroyNotify</a>&#160;</td>
          <td class="paramname"><em>value_destroy_func</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>g_hash_table_new_full: : a function to create a hash value from a key. : a function to check two keys for equality. : a function to free the memory allocated for the key used when removing the entry from the <a class="el" href="glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a> or NULL if you don't want to supply such a function. : a function to free the memory allocated for the value used when removing the entry from the <a class="el" href="glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a> or NULL if you don't want to supply such a function.</p>
<p>Creates a new <a class="el" href="glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a> like <a class="el" href="copia_2glib_2ghash_8c.html#af8873df75e21d7e70ca5aaa3273aa41c">g_hash_table_new()</a> with a reference count of 1 and allows to specify functions to free the memory allocated for the key and value that get called when removing the entry from the <a class="el" href="glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a>.</p>
<p>Return value: a new <a class="el" href="glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a>. </p>

</div>
</div>
<a class="anchor" id="aa2f4c6dcf185dc3302729fc7b60b08b3"></a><!-- doxytag: member="ghash.c::g_hash_table_ref" ref="aa2f4c6dcf185dc3302729fc7b60b08b3" args="(GHashTable *hash_table)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="copia_2glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a>* g_hash_table_ref </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="copia_2glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a> *&#160;</td>
          <td class="paramname"><em>hash_table</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>g_hash_table_ref: : a valid <a class="el" href="glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a>.</p>
<p>Atomically increments the reference count of  by one. This function is MT-safe and may be called from any thread.</p>
<p>Return value: the passed in <a class="el" href="glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a>.</p>
<p>Since: 2.10 </p>

</div>
</div>
<a class="anchor" id="acff7e5fffc2572456a379d3d62d3e6ed"></a><!-- doxytag: member="ghash.c::g_hash_table_remove" ref="acff7e5fffc2572456a379d3d62d3e6ed" args="(GHashTable *hash_table, gconstpointer key)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="copia_2glib_2gtypes_8h.html#a3fbd4b724cd3917d53d4b4204a4963e5">gboolean</a> g_hash_table_remove </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="copia_2glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a> *&#160;</td>
          <td class="paramname"><em>hash_table</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="copia_2glib_2gtypes_8h.html#a993597d6defd7d9a72b501697875b1e8">gconstpointer</a>&#160;</td>
          <td class="paramname"><em>key</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>g_hash_table_remove: : a <a class="el" href="glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a>. : the key to remove.</p>
<p>Removes a key and its associated value from a <a class="el" href="glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a>.</p>
<p>If the <a class="el" href="glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a> was created using <a class="el" href="copia_2glib_2ghash_8c.html#a201cb9cd69237fad660934db8d74690b">g_hash_table_new_full()</a>, the key and value are freed using the supplied destroy functions, otherwise you have to make sure that any dynamically allocated values are freed yourself.</p>
<p>Return value: TRUE if the key was found and removed from the <a class="el" href="glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a>. </p>

</div>
</div>
<a class="anchor" id="accc852bed818418d94d4df2a64d7b423"></a><!-- doxytag: member="ghash.c::g_hash_table_remove_all" ref="accc852bed818418d94d4df2a64d7b423" args="(GHashTable *hash_table)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void g_hash_table_remove_all </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="copia_2glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a> *&#160;</td>
          <td class="paramname"><em>hash_table</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>g_hash_table_remove_all: : a <a class="el" href="glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a></p>
<p>Removes all keys and their associated values from a <a class="el" href="glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a>.</p>
<p>If the <a class="el" href="glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a> was created using <a class="el" href="copia_2glib_2ghash_8c.html#a201cb9cd69237fad660934db8d74690b">g_hash_table_new_full()</a>, the keys and values are freed using the supplied destroy functions, otherwise you have to make sure that any dynamically allocated values are freed yourself.</p>
<p>Since: 2.12 </p>

</div>
</div>
<a class="anchor" id="a62cada13c4b4dc137a896b903d4fb440"></a><!-- doxytag: member="ghash.c::g_hash_table_replace" ref="a62cada13c4b4dc137a896b903d4fb440" args="(GHashTable *hash_table, gpointer key, gpointer value)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void g_hash_table_replace </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="copia_2glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a> *&#160;</td>
          <td class="paramname"><em>hash_table</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="copia_2glib_2gtypes_8h.html#a82239d7d1ad8c85a21637b644b4e7832">gpointer</a>&#160;</td>
          <td class="paramname"><em>key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="copia_2glib_2gtypes_8h.html#a82239d7d1ad8c85a21637b644b4e7832">gpointer</a>&#160;</td>
          <td class="paramname"><em>value</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>g_hash_table_replace: : a <a class="el" href="glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a>. : a key to insert. : the value to associate with the key.</p>
<p>Inserts a new key and value into a <a class="el" href="glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a> similar to <a class="el" href="copia_2glib_2ghash_8c.html#a2d77bc964955f9954210005d4e858ddd">g_hash_table_insert()</a>. The difference is that if the key already exists in the <a class="el" href="glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a>, it gets replaced by the new key. If you supplied a  when creating the <a class="el" href="glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a>, the old value is freed using that function. If you supplied a  when creating the <a class="el" href="glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a>, the old key is freed using that function. </p>

</div>
</div>
<a class="anchor" id="a2c3399a8b93069f54cb43957aae3d098"></a><!-- doxytag: member="ghash.c::g_hash_table_size" ref="a2c3399a8b93069f54cb43957aae3d098" args="(GHashTable *hash_table)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="copia_2glib_2gtypes_8h.html#af0d5fc363adb00f8d725f36331ff0a12">guint</a> g_hash_table_size </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="copia_2glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a> *&#160;</td>
          <td class="paramname"><em>hash_table</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>g_hash_table_size: : a <a class="el" href="glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a>.</p>
<p>Returns the number of elements contained in the <a class="el" href="glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a>.</p>
<p>Return value: the number of key/value pairs in the <a class="el" href="glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a>. </p>

</div>
</div>
<a class="anchor" id="aa82b9ae837aba99b20c422180dfe39aa"></a><!-- doxytag: member="ghash.c::g_hash_table_steal" ref="aa82b9ae837aba99b20c422180dfe39aa" args="(GHashTable *hash_table, gconstpointer key)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="copia_2glib_2gtypes_8h.html#a3fbd4b724cd3917d53d4b4204a4963e5">gboolean</a> g_hash_table_steal </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="copia_2glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a> *&#160;</td>
          <td class="paramname"><em>hash_table</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="copia_2glib_2gtypes_8h.html#a993597d6defd7d9a72b501697875b1e8">gconstpointer</a>&#160;</td>
          <td class="paramname"><em>key</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>g_hash_table_steal: : a <a class="el" href="glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a>. : the key to remove.</p>
<p>Removes a key and its associated value from a <a class="el" href="glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a> without calling the key and value destroy functions.</p>
<p>Return value: TRUE if the key was found and removed from the <a class="el" href="glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a>. </p>

</div>
</div>
<a class="anchor" id="a3846f55bd825c0bdb5566abf27656a02"></a><!-- doxytag: member="ghash.c::g_hash_table_steal_all" ref="a3846f55bd825c0bdb5566abf27656a02" args="(GHashTable *hash_table)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void g_hash_table_steal_all </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="copia_2glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a> *&#160;</td>
          <td class="paramname"><em>hash_table</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>g_hash_table_steal_all: : a <a class="el" href="glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a>.</p>
<p>Removes all keys and their associated values from a <a class="el" href="glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a> without calling the key and value destroy functions.</p>
<p>Since: 2.12 </p>

</div>
</div>
<a class="anchor" id="a2511f6a2e6064c3dc349a987768c1faf"></a><!-- doxytag: member="ghash.c::g_hash_table_unref" ref="a2511f6a2e6064c3dc349a987768c1faf" args="(GHashTable *hash_table)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void g_hash_table_unref </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="copia_2glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a> *&#160;</td>
          <td class="paramname"><em>hash_table</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>g_hash_table_unref: : a valid <a class="el" href="glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a>.</p>
<p>Atomically decrements the reference count of  by one. If the reference count drops to 0, all keys and values will be destroyed, and all memory allocated by the hash table is released. This function is MT-safe and may be called from any thread.</p>
<p>Since: 2.10 </p>

</div>
</div>
<a class="anchor" id="afdf37f16833557b08ae4840620f69a88"></a><!-- doxytag: member="ghash.c::g_int_equal" ref="afdf37f16833557b08ae4840620f69a88" args="(gconstpointer v1, gconstpointer v2)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="copia_2glib_2gtypes_8h.html#a3fbd4b724cd3917d53d4b4204a4963e5">gboolean</a> g_int_equal </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="copia_2glib_2gtypes_8h.html#a993597d6defd7d9a72b501697875b1e8">gconstpointer</a>&#160;</td>
          <td class="paramname"><em>v1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="copia_2glib_2gtypes_8h.html#a993597d6defd7d9a72b501697875b1e8">gconstpointer</a>&#160;</td>
          <td class="paramname"><em>v2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>g_int_equal: : a <a class="el" href="glib_2gtypes_8h.html#a94f7fe39540fb07a3c09be37e16112b0">gint</a> key. : a <a class="el" href="glib_2gtypes_8h.html#a94f7fe39540fb07a3c09be37e16112b0">gint</a> key to compare with .</p>
<p>Compares the two <a class="el" href="glib_2gtypes_8h.html#a94f7fe39540fb07a3c09be37e16112b0">gint</a> values and returns TRUE if they are equal. It can be passed to <a class="el" href="copia_2glib_2ghash_8c.html#af8873df75e21d7e70ca5aaa3273aa41c">g_hash_table_new()</a> as the  parameter, when using integers as keys in a <a class="el" href="glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a>.</p>
<p>Returns: TRUE if the two keys match. </p>

</div>
</div>
<a class="anchor" id="a687be1df743ba5a06c64b07f6fb79aac"></a><!-- doxytag: member="ghash.c::g_int_hash" ref="a687be1df743ba5a06c64b07f6fb79aac" args="(gconstpointer v)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="copia_2glib_2gtypes_8h.html#af0d5fc363adb00f8d725f36331ff0a12">guint</a> g_int_hash </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="copia_2glib_2gtypes_8h.html#a993597d6defd7d9a72b501697875b1e8">gconstpointer</a>&#160;</td>
          <td class="paramname"><em>v</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>g_int_hash: : a <a class="el" href="glib_2gtypes_8h.html#a94f7fe39540fb07a3c09be37e16112b0">gint</a> key</p>
<p>Converts a <a class="el" href="glib_2gtypes_8h.html#a94f7fe39540fb07a3c09be37e16112b0">gint</a> to a hash value. It can be passed to <a class="el" href="copia_2glib_2ghash_8c.html#af8873df75e21d7e70ca5aaa3273aa41c">g_hash_table_new()</a> as the  parameter, when using integers values as keys in a <a class="el" href="glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a>.</p>
<p>Returns: a hash value corresponding to the key. </p>

</div>
</div>
<a class="anchor" id="a57c767cf95e3f2d184e28bc9c110c7d4"></a><!-- doxytag: member="ghash.c::g_intP_equal" ref="a57c767cf95e3f2d184e28bc9c110c7d4" args="(gconstpointer v1, gconstpointer v2)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="copia_2glib_2gtypes_8h.html#a3fbd4b724cd3917d53d4b4204a4963e5">gboolean</a> g_intP_equal </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="copia_2glib_2gtypes_8h.html#a993597d6defd7d9a72b501697875b1e8">gconstpointer</a>&#160;</td>
          <td class="paramname"><em>v1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="copia_2glib_2gtypes_8h.html#a993597d6defd7d9a72b501697875b1e8">gconstpointer</a>&#160;</td>
          <td class="paramname"><em>v2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>g_int_equal: : a pointer to a <a class="el" href="glib_2gtypes_8h.html#a94f7fe39540fb07a3c09be37e16112b0">gint</a> key. : a pointer to a <a class="el" href="glib_2gtypes_8h.html#a94f7fe39540fb07a3c09be37e16112b0">gint</a> key to compare with .</p>
<p>Compares the two <a class="el" href="glib_2gtypes_8h.html#a94f7fe39540fb07a3c09be37e16112b0">gint</a> values being pointed to and returns TRUE if they are equal. It can be passed to <a class="el" href="copia_2glib_2ghash_8c.html#af8873df75e21d7e70ca5aaa3273aa41c">g_hash_table_new()</a> as the  parameter, when using pointers to integers as keys in a <a class="el" href="glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a>.</p>
<p>Returns: TRUE if the two keys match. </p>

</div>
</div>
<a class="anchor" id="a35459701170c88e43945d26e93510049"></a><!-- doxytag: member="ghash.c::g_intP_hash" ref="a35459701170c88e43945d26e93510049" args="(gconstpointer v)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="copia_2glib_2gtypes_8h.html#af0d5fc363adb00f8d725f36331ff0a12">guint</a> g_intP_hash </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="copia_2glib_2gtypes_8h.html#a993597d6defd7d9a72b501697875b1e8">gconstpointer</a>&#160;</td>
          <td class="paramname"><em>v</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>g_intP_hash: : a pointer to a <a class="el" href="glib_2gtypes_8h.html#a94f7fe39540fb07a3c09be37e16112b0">gint</a> key</p>
<p>Converts a pointer to a <a class="el" href="glib_2gtypes_8h.html#a94f7fe39540fb07a3c09be37e16112b0">gint</a> to a hash value. It can be passed to <a class="el" href="copia_2glib_2ghash_8c.html#af8873df75e21d7e70ca5aaa3273aa41c">g_hash_table_new()</a> as the  parameter, when using pointers to integers values as keys in a <a class="el" href="glib_2ghash_8h.html#a0d071a65d3896dc0274c80a5dd8b9e2a">GHashTable</a>.</p>
<p>Returns: a hash value corresponding to the key. </p>

</div>
</div>
</div>
</div>
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><a class="el" href="copia_2glib_2ghash_8c.html">ghash.c</a>      </li>
      <li class="footer">Generado el Lunes, 6 de Junio de 2011 20:03:18 para Proyecto de Matemática Discreta 2 - Parte II: DINIC por&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </li>
    </ul>
  </div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>Todo</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Estructuras de Datos</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Archivos</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Funciones</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>&apos;typedefs&apos;</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>&apos;defines&apos;</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>


</body>
</html>
